package model.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * In�cio da classe de conex�o.
 */

public class ConectaBanco {

	private static String status = null;
	private static Connection connection = null;

	/**
	 * M�todo que tenta fazer a conex�o com o banco de dados e retorna est�
	 * conex�o
	 * 
	 * @return Connection
	 */
	public static Connection CriarConexaoMySQL(String url, String username,
			String password) {
		try {

			/** Testa sua conex�o. */

			if (connection != null) {

				status = ("Banco de dados conectado com sucesso!");

			} else {

				status = ("N�o foi possivel realizar conex�o com o banco de dados!");
				/** Carregando o JDBC Driver padr�o. */

				String driverName = "com.mysql.jdbc.Driver";

				Class.forName(driverName);

				/** Configurando a nossa conex�o com um banco de dados. */

				String endereco = url;
				String usuario = username; // nome de um usu�rio de seu BD
				String senha = password; // sua senha de acesso
//String url = "jdbc:mysql://localhost:3306/Controle_de_chamados";
				connection = DriverManager.getConnection("jdbc:mysql:"+endereco, usuario,
						senha);

			}
			return connection;

		} catch (ClassNotFoundException e) { // Driver n�o encontrado

			System.out.println("O driver expecificado nao foi encontrado.");

			return null;

		} catch (SQLException e) {

			/** N�o conseguindo se conectar ao banco. */
			System.out
					.println("Nao foi possivel conectar ao Banco de Dados.\n\n"
							+ e);

			return null;

		}

	}

	public static Connection getConexaoMySQL() {

		return connection;
	}

	/** M�todo que retorna o status da sua conex�o. */

	public static String statusConection() {

		return status;

	}

	/** M�todo que fecha sua conex�o. */
	/*
	 * public static boolean FecharConexao() {
	 * 
	 * try {
	 * 
	 * ConectaBanco.getConexaoMySQL().close();
	 * 
	 * return true;
	 * 
	 * } catch (SQLException e) { System.out.println(e); return false;
	 * 
	 * }
	 * 
	 * }
	 */
	/* M�todo que reinicia sua conex�o. */
	/*
	 * public static Connection ReiniciarConexao() {
	 * 
	 * FecharConexao(); return ConectaBanco.getConexaoMySQL();
	 * 
	 * }
	 */
}
